

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HS2MS2FMatchexample(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HS2MS2FMatchexample.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HS2MS2FMatchexample, self).__init__(name='HS2MS2FMatchexample', num_nodes=16, edges=[])
        
        # Add the edges
        self.add_edges([(15, 0), (5, 0), (2, 12), (2, 13), (2, 10), (3, 14), (3, 15), (3, 11), (8, 4), (4, 1), (9, 5), (10, 6), (11, 7), (12, 8), (13, 1), (14, 9)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """S2MS2FMatchexample"""
        self["GUID__"] = UUID('c935ee72-ad4f-4168-aae2-758fc41d9fcd')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """Female_S"""
        self.vs[0]["classtype"] = """female"""
        self.vs[0]["name"] = """female_match_rule2"""
        self.vs[0]["GUID__"] = UUID('b528240d-2454-4ed2-898f-08628f2906f9')
        self.vs[1]["mm__"] = """Male_S"""
        self.vs[1]["classtype"] = """male"""
        self.vs[1]["name"] = """male_match_rule1"""
        self.vs[1]["GUID__"] = UUID('89b5350c-f0b0-40e5-b1d6-8f5813f2bced')
        self.vs[2]["mm__"] = """MatchModel"""
        self.vs[2]["GUID__"] = UUID('04ddc7ff-e6df-466a-a454-5d61709c11e4')
        self.vs[3]["mm__"] = """MatchModel"""
        self.vs[3]["GUID__"] = UUID('fe49afb9-bc60-40b2-a5c4-9986c0f0564c')
        self.vs[4]["mm__"] = """indirectLink_S"""
        self.vs[4]["GUID__"] = UUID('393f9a4d-f757-4d97-b834-83664463e160')
        self.vs[5]["mm__"] = """indirectLink_S"""
        self.vs[5]["GUID__"] = UUID('ed2e5bc2-bcd7-4800-8673-597054f05b75')
        self.vs[6]["mm__"] = """ApplyModel"""
        self.vs[6]["GUID__"] = UUID('792d7f71-6147-48f7-8168-10a91fa344f6')
        self.vs[7]["mm__"] = """ApplyModel"""
        self.vs[7]["GUID__"] = UUID('7037e73a-7733-4882-9994-995298f4d434')
        self.vs[8]["mm__"] = """Station_S"""
        self.vs[8]["classtype"] = """station"""
        self.vs[8]["name"] = """station_match_rule1"""
        self.vs[8]["GUID__"] = UUID('45ace765-7f28-4551-9f62-d467cd966ad6')
        self.vs[9]["mm__"] = """Station_S"""
        self.vs[9]["classtype"] = """station"""
        self.vs[9]["name"] = """station_match_rule2"""
        self.vs[9]["GUID__"] = UUID('4b07b5fb-c878-4292-8be9-bce75199c682')
        self.vs[10]["mm__"] = """paired_with"""
        self.vs[10]["GUID__"] = UUID('67c74612-b872-4f02-9f75-73933fd09f8f')
        self.vs[11]["mm__"] = """paired_with"""
        self.vs[11]["GUID__"] = UUID('b8cb8f69-d6f7-40a7-9b87-388467d1cab6')
        self.vs[12]["mm__"] = """match_contains"""
        self.vs[12]["GUID__"] = UUID('0976474e-e15b-46f2-b0ff-dd2075c6f338')
        self.vs[13]["mm__"] = """match_contains"""
        self.vs[13]["GUID__"] = UUID('4adc5266-1299-41c8-a96f-45c76d35439a')
        self.vs[14]["mm__"] = """match_contains"""
        self.vs[14]["GUID__"] = UUID('8d35ca96-f1ac-4d71-8909-8aff3180285f')
        self.vs[15]["mm__"] = """match_contains"""
        self.vs[15]["GUID__"] = UUID('16edfd17-a06c-445d-ac98-f59fa8efff00')

